/*
 * Copyright 2006-2007 the original author or authors.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.google.code.sant

import java.io.File

/**
 * @author Stepan Koltsov
 */
object Env {
	def getEnv(name: String) = System.getenv(name) match {
    case null => None
    case x => Some(x)
  }
  
  def getProperty(name: String) = System.getProperty(name) match {
    case null => None
    case x => Some(x)
  }
  
  def scalaHome = {
    getProperty("scala.home") orElse getEnv("SCALA_HOME") getOrElse(throw new SantException("scala home not found"))
  }
  
  def santHome = {
    getProperty("sant.home") orElse getEnv("SANT_HOME") getOrElse(throw new SantException("sant home not found"))
  }
  
  def santLibDir = {
    new File(santHome, "lib")
  }
  
  def santJar = {
    getProperty("sant.jar") orElse getEnv("SANT_JAR") map (new File(_)) getOrElse new File(santLibDir, "sant.jar")
  }
}
